var tar = require('tar-fs')
var fs = require('fs')

// packing a directory
tar.pack('dist').pipe(fs.createWriteStream('products/zhishen.tar'))

// var adm_zip = require('adm-zip');

//    //creating archives
//    var zip = new adm_zip();  
//    zip.addLocalFolder('./dist');  
//    zip.writeZip('./products/zhishen.tar');  

//   //  //extracting archives  
//   //  var unzip = new adm_zip('adm/adm-archive.zip');  
//   //  unzip.extractAllTo("adm/adm-unarchive/", /*overwrite*/true);



// var adm_zip = require('adm-zip');

//  //creating archives
//  var zip = new adm_zip();  
//  zip.addLocalFolder('dist/static');  
//  zip.writeZip('adm-archive.zip');  



// var fs = require('fs');
// var archiver = require('archiver');

// var output = fs.createWriteStream('products/zhishen.tar');//不支持.tar
// var archive = archiver('zip');

// archive.on('error', function (err) {
//   throw err;
// });

// archive.pipe(output);
// archive.directory('dist/', false);
// archive.finalize();

// //先判断是否存在./products目录，若无则先创建，否则直接输出.tar文件到此目录
// var fs = require('fs')
// if(fs.existsSync('./products')){
//   console.log('Path: \'./products\' exist! Start Compressing...' )
// } else{
//   fs.mkdirSync('./products', (err) =>{
//     if(err){
//       console.log('error:', err)
//     }    
//   })
// }

// var zipper = require("zip-local");
// zipper.sync.zip("../midis3-admin/dist/").compress().save("./products/zhishen.tar");

// var fstream = require('fstream');
// // var zlib = require('zlib');
// var tar = require('tar');

// function compress(input, output, callback) {
//     let result = {};
//     var r = fstream.Reader({ 'path': input, 'type': 'Directory' });
//     var w = fstream.Writer(output);

//     r.pipe(tar.Pack({ noRepository: true, fromBase: true }))
//         // .pipe(zlib.Gzip())
//         .pipe(w);
//     r.on('end', function () {
//         result.success = true;
//         if (callback)
//             callback(result);
//     })
//     r.on('error', (err) => {
//         result.success = false;
//         result.error = err.message;
//         if (callback)
//             callback(result);
//     })
// }
// exports.compress = compress;
// compress('dist/', 'products/zhishen.tar');

// const compressing = require('compressing');

// compressing.tar.compressDir('dist/', 'products/zhishen.tar')
//   .then(() => {
//     console.log('success');
//   }).catch(err => {
//     console.error(err);
//   });



// var fstream = require('fstream');
// var tar = require('tar');

// fstream.Reader({
//     'path': 'dist',
//     'type': 'Directory'
//   }) /* Read the source directory */
//   .pipe(tar.Pack()) /* Convert the directory to a .tar file */
//   .pipe(fstream.Writer({
//     'path': 'products/zhishen.tar'
//   })); /* Give the output file name */

